Resource Protection Using Atomics - Patterns and Verification
نویسندگان
چکیده
For the verification of concurrent programs, it is essential to be able to show that synchronisation mechanisms are implemented correctly. A common way to implement such sychronisers is by using atomic operations. This paper identifies what different synchronisation patterns can be implemented by using atomic read, write and compare-and-set operation. Additionally, this paper proposes also a specification of these operations in Java’s AtomicInteger class, and shows how different synchronisation mechanisms can be built and verified using atomic integer as the synchronisation primitive. The specifications for the methods in the AtomicInteger class are derived from the classical concurrent separation logic rule for atomic operations. A main characteristic of our specification is its ease of use. To verify an implementation of a synchronisation mechanism, the user only has to specify (1) what are the different roles of the threads participating in the synchronisation, (2) what are the legal state transitions in the synchroniser, and (3) what share of the resource invariant can be obtained in a certain state, given the role of the current thread. The approach is illustrated on several synchronisation mechanisms. For all implementations, we provide a machine-checked proof that the implementations correctly implement the synchroniser.
منابع مشابه
Resource Protection using Atomics: Patterns and Verifications
Modular reasoning about non-blocking concurrent data structures is crucial to establish the correctness of concurrent applications. To achieve this, specifications of the synchronization mechanisms used by these nonblocking concurrent classes to prevent concurrent access to shared data, are essential. This paper presents an approach to specifying such lock-free synchronization mechanisms in ter...
متن کاملWarps and Atomics: Beyond Barrier Synchronization in the Verification of GPU Kernels
We describe the design and implementation of methods to support reasoning about data races in GPU kernels where constructs other than the standard barrier primitive are used for synchronization. At one extreme we consider kernels that exploit implicit, coarse-grained synchronization between threads in the same warp, a feature provided by many architectures. At the other extreme we consider kern...
متن کاملA new speaker verification spoofing countermeasure based on local binary patterns
This paper presents a new countermeasure for the protection of automatic speaker verification systems from spoofed, converted voice signals. The new countermeasure is based on the analysis of a sequence of acoustic feature vectors using Local Binary Patterns (LBPs). Compared to existing approaches the new countermeasure is less reliant on prior knowledge and affords robust protection from not o...
متن کاملIdentifying Managers’ Mental Patterns in Relation to Subjective Well-being of Human Resource of Organization, Using the Q-method
Intorduction: It is necessary to notice the subjective well-being and satisfaction of human resources in organizations and lack of attention to them has deleterious effects on individual and organizational performance. Method: The present study is a mixed (qualitative and quantitative) research which used the Q approach to examine and explain managers’ mental patterns regarding Subjective We...
متن کاملIdentifying Managers’ Mental Patterns in Relation to Subjective Well-being of Human Resource of Organization, Using the Q-method
Intorduction: It is necessary to notice the subjective well-being and satisfaction of human resources in organizations and lack of attention to them has deleterious effects on individual and organizational performance. Method: The present study is a mixed (qualitative and quantitative) research which used the Q approach to examine and explain managers’ mental patterns regarding Subjective We...
متن کامل